package com.guo.core.framework.chain.post;

/**
 * 执行链节点抽象
 * @param <Req> 执行逻辑入参
 * @param <Rsp> 执行逻辑响应
 */
public abstract class Post<Req,Rsp> {

    // 是否继续执行后续节点
    Boolean doNext = Boolean.TRUE;

    /**
     * 下一节点是否执行
     * @return Boolean true 继续向下执行
     */
    public Boolean getDoNext() {
        return doNext;
    }

    /**
     * 设置下一节点是否执行
     * @param doNext true 继续向下执行
     */
    public void setDoNext(Boolean doNext) {
        this.doNext = doNext;
    }

    /**
     * 执行逻辑
     * @param req 请求入参
     * @param rsp 响应体
     */
    public abstract void post(Req req, Rsp rsp);

}
